package br.ucb.antares.bean;


import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;

import br.ucb.antares.HIB.CompraHIB;
import br.ucb.antares.HIB.ProdutoHIB;
import br.ucb.antares.entidade.Compra;
import br.ucb.antares.entidade.Fornecedor;
import br.ucb.antares.entidade.Produto;
import br.ucb.antares.interfaces.Bean;
import br.ucb.antares.log4j.CompraLog;
@ManagedBean
public class CompraBean implements Bean<Compra>{
	private Compra compra;
	private CompraHIB compraHIB;
	private List<Compra> compras;
	private CompraLog compraLog = new CompraLog();
	private Fornecedor fornecedor;
    private Produto produto;
	
	public CompraBean() {
		setCompra(new Compra());
		setCompraHIB(new CompraHIB());
		setCompras(new ArrayList<Compra>());
	}
	public Compra getCompra() {
		return compra;
	}
	
	public int getQuantidade(){
		return getCompras().size();
	}
	
	
	public void setCompra(Compra compra) {
		this.compra = compra;
	}
	public CompraHIB getCompraHIB() {
		return compraHIB;
	}
	public void setCompraHIB(CompraHIB compraHIB) {
		this.compraHIB = compraHIB;
	}
	public List<Compra> getCompras() {
		return compras;
	}
	public void setCompras(List<Compra> compras) {
		this.compras = compras;
	}
	
	@Override
	public String salvar() {
		ProdutoHIB produtoHIB = new ProdutoHIB();
		
		produto.setQnt(produto.getQnt() + getCompra().getQnt());
		produtoHIB.salvar(produto);
		System.out.println(fornecedor.getId());
		setCompraHIB(new CompraHIB());
		getCompraHIB().salvar(getCompra());
		compraLog.logCadastrar(compra);
		return "listComp.xhtml";
	}

	@Override
	public String excluir() {
		setCompraHIB(new CompraHIB());
		getCompraHIB().excluir(getCompra());
		compraLog.logExcluir(compra);

		return "listComp.xhtml";
	}

	@Override
	public String listar() {
		setCompraHIB(new CompraHIB());
		setCompras(getCompraHIB().listar());
		return "listComp.xhtml";
	}

	@Override
	public String consultar() {
		setCompraHIB(new CompraHIB());
		setCompra(getCompraHIB().consultar(getCompra().getId()));
		return "listComp.xhtml";
	}
	public Fornecedor getFornecedor() {
		return fornecedor;
	}
	public void setFornecedor(Fornecedor fornecedor) {
		this.fornecedor = fornecedor;
	}
	public Produto getProduto() {
		return produto;
	}
	public void setProduto(Produto produto) {
		this.produto = produto;
	}
	
	
}
